﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GrayParrot.Communications.Core
{
    /// <summary>
    /// The Message Class...
    /// </summary>
    [Serializable]
    public class Message
    {
        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        /// <value>
        /// The id.
        /// </value>
        public Guid Id { get; set; }
        /// <summary>
        /// Gets or sets the message date.
        /// </summary>
        /// <value>
        /// The message date.
        /// </value>
        public DateTime MessageDate { get; set; }
        /// <summary>
        /// Gets or sets the message body.
        /// </summary>
        /// <value>
        /// The message body.
        /// </value>
        public String MessageBody { get; set; }
        /// <summary>
        /// Gets or sets the severity.
        /// </summary>
        /// <value>
        /// The severity.
        /// </value>
        public MessageSeverity Severity { get; set; }
        /// <summary>
        /// Gets or sets a value indicating whether this instance is readed.
        /// </summary>
        /// <value>
        ///   <c>true</c> if this instance is readed; otherwise, <c>false</c>.
        /// </value>
        public bool IsReaded { get; set; }
        /// <summary>
        /// Gets or sets the reading informations.
        /// </summary>
        /// <value>
        /// The reading informations.
        /// </value>
        public ReadingInformations ReadingInformations { get; set; }
        /// <summary>
        /// Gets or sets the type of the message.
        /// </summary>
        /// <value>
        /// The type of the message.
        /// </value>
        public string MessageType { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="Message"/> class.
        /// </summary>
        public Message()
        {

        }
    }
}
